این زبان برای اولین بار در اوایل ۱۹۷۰ توسط گروهی به سرپرستی آلن کلمرار در مارسی فرانسه به وجود آمد و اولین سیستم Prolog در سال ۱۹۷۲ توسط کلمرار و فیلیپ راسل توسعه داده شد. با این حال، دیوید اچ دی وارن با ایجاد ماشین خلاصه وارن در اوایل کامپایلر Prolog با نفوذ را نوشت و «Edinburgh Prolog» را تعریف نمود که گویشی است که اساس برای نحو بسیاری از پیادهسازی مدرن است. Prolog یکی از زبانهای برنامه نویسی منطق مرتبه اول بود، و امروزه رایجترین این گونه زبانها باقیماندهاست، همراه با تعداد زیادی از پیاده سازی های آن که به صورت رایگان و تجاری در دسترس هستند. در حالی که در ابتدا با هدف پردازش زبان طبیعی ساخته شد اما به تدریج بخاطر استفاده و پشتیبانی سیستمهای خبره، بازیها، سیستم پاسخ خودکار، ontologies و سیستمهای کنترل پیچیده، تغییر کرد و محیطهای Prolog مدرن و با حمایت از ایجاد واسط کاربر گرافیکی، به عنوان برنامههای اداری و شبکه.. معرفی گردید و الحاقات بعدی از Prolog که توسط تیم اصلی ایجاد گشت محدودیت توانایی در منطق برنامه نویسی را در پیاده سازی از بین بردند.
زمزمههای ایجاد یک زبان منطق گرا از دهه ۷۰ میلادی از شمال آمریکا شکل گرفت. بعداً در نسل پنجم رایانهها نیز از پرولوگ برای نوشتن کرنل سیستمعامل نیز در ایجاد پروژه سیستم FGCS استفاده شد.
برنامه پرلوگ مجموعهای از روابط است که توسط بندهای خاص تعریف شدهاند . این بندها محدود به بندهای horn و تورینگ است که زیر مجموعه کاملی از منطق منظور اول است (first-order predicate logic) . بندها به دو دستهٔ قوانین و حقیقتها تقسیم میشوند . یک مثال از قانون: Head :- Body. سر : -- بدن است. سر یک عضوی از بدن است . و بعد با پرس و جوهای انجام شده با توجه به قوانین موجود و حقایق اولیه نتایج ثانویه که حقایق جدیدی هستند شکل میگیرد. پرس و جوها میتوانند براساس لیستهای پیوندی نیز باشد و طبق قوانین از پیش تعیین شده نتایجی را در اختیار کاربر گذاشت . مثل اندازه لیست . عنصر آخر لیست و ... . بهمین خاطر مجموعهای از کتابخانههای این زبان شکل گرفته است و در راستای آن هم دستورهایی برای چاپ دادهها و امثال آن شکل گرفته است .
رای بهره وری از کد Prolog معمولاً به صورت کد ماشین انتزاعی ترجمه میشود و اغلب تحت تاثیر مجموعه دستورات ثبت نامی براساس ماشین انتراعی وارن (Warren Abstract Machine (WAM)) است.برای پیاده سازی انتزاعی متناسب به نوع اصطلاحات و اطلاعات در زمان کامپایل است. برای ترجمه بهتر و نزدیک تر بودن به زبان ماشین واقعی برای عملکرد بهتر نیاز به تحقیقات مبتنی بر جامعه منطقی برنامه ریزی شده است که دو کار اساسی براساس قواعد منطقی انجام میدهد یک باینری کردن عبارات و بندها و دیگری فراهم کردن پشته مبتنی بر ماشین مجازی.در نسل پنجم سعی شده است ماشینها و سیستمهای مبتنی بر پرلوگ نیازهای سختافزاری این نوع برنامه سازی منطقی را نیز فراهم سازند تا سرعت اجرای آن هزاران برابر شود. بعلاوه این پرلوگ این توانایی را نیز دارد که با پردازش موازی بندها سرعت را بهبود بخشد.
:: موضوعات مرتبط:
آموزش دروس دانشگاهی ,
مقالات و کتب ,
,
:: برچسبها:
معرفی زبان های برنامه نویسی ,